% By: Carmen Guerra Garcia
% Date: March 27th 2019

%Description: This script reads a raw video file (.mov), extracts frames
%from it, determines corona as the region of maximum
%intensity and tracks total intensity 

 clear all
 close all
 clc

workingDir = tempname;
mkdir(workingDir);
mkdir(workingDir,'images');

filenames= {'03262019_wp7_PS13'};
load('background_correction03262019.mat');

for k=1

data = VideoReader([filenames{k} , '.mov']);

NN = data.NumberOfFrames;

for ii = 330:50:8600
    img = read(data,ii)-img_bk4;
    imwrite(img,fullfile(workingDir,'images',sprintf('img%d.jpg',ii)));
end
imageNames = dir(fullfile(workingDir,'images','*.jpg'));
imageNames = {imageNames.name}';

imageStrings = regexp([imageNames{:}],'(\d*)','match');
imageNumbers = str2double(imageStrings);
[~,sortedIndices] = sort(imageNumbers);
sortedImageNames = imageNames(sortedIndices);

for ii=1:length(sortedImageNames)
img = imread(fullfile(workingDir,'images',sortedImageNames{ii}));

Irr(ii) = sum(sum(img(320:370,900:1200,1),'omitnan'));

end

Nframe = [330:50:8600];

tt = Nframe./29.97./60; %min

plot(tt,Irr./max(Irr))

grid on

hold on

xlabel('Time [s]')
ylabel('Relative intensity [au]')

TU = [0.19 0.63 0.93 1.27 1.77 2.05 2.38 2.8 3.88];
U  = [0 10 20 25 30 35 40 45 50]';
Utxt = num2str(U);

IU(1:length(TU)) = nan;
for kk=1:length(TU)
IU(kk) = interp1(tt,Irr./max(Irr),TU(kk));
end

plot(TU,IU,'ro')
for kk=1:length(TU)
text(TU(kk)+0.1, IU(kk)+0.05, ['U=' Utxt(kk,1:2) 'm/s'] )
end

end














